package com.lhh.springcommon.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lhh.springcommon.entity.Video;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lhh.springcommon.entity.vo.VideoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 李厚航
 * @since 2025-02-25
 */
@Mapper
public interface VideoMapper extends BaseMapper<Video> {

    /**
     * 查询所有视频分类
     * @return
     */
    List<String> queryAllVideoClassification();

    /**
     * 分页查询视频
     * @param video
     * @param page
     * @return
     */
    Page<VideoVO> queryPageVideoVO(@Param("video") Video video, Page<Video> page);

    /**
     * 根据视频id集合查询视频
     * @param videoIds
     * @return
     */
    Page<VideoVO> queryVideoVOByIds(@Param("vids") List<Integer> videoIds, Page<Video> page);

    /**
     * 查询满足条件的视频数量
     * @param video
     * @return
     */
    Long searchCount(@Param("video") Video video);

    /**
     * 查询热门视频id集合
     * @param num
     * @return
     */
    List<Integer> getHotVideoIds(@Param("num") Integer num);
}
